#include<stdio.h>
void down_right(int matrix[3][3],int col,int row,int collen,int rowlen);
void up_left(int matrix[3][3],int col,int row,int collen,int rowlen);
int main()
{
	int row,col;
	scanf("%d%d",&row,&col);
	int matrix[row][col];
	for(int i=0;i<row;i++)
	  for(int j=0;j<col;j++)
	    scanf("%d",&matrix[i][j]);
	for(int i=0;i<row;i++)
	{
		for(int j=0;j<col;j++)
	  	  printf("%d ",matrix[i][j]);
		printf("\n");
	}
	down_right(matrix,0,0,col-1,row-1);

	return 0;
}
void down_right(int matrix[3][3],int col,int row,int collen,int rowlen)
{
	int i = 0,j = 0;
	for(i = row;i<=rowlen;i++)
	  printf("%d ",matrix[i][col]);
	for(j = col+1;j<=collen;j++)
	  printf("%d ",matrix[rowlen][j]);
	if(rowlen-row>0)
	  up_left(matrix,col+1,row,collen,rowlen-1);
} 
void up_left(int matrix[3][3],int col,int row,int collen,int rowlen)
{
	int i = 0,j = 0;
	for(i = rowlen;i>=row;i--)
	  printf("%d ",matrix[i][collen]);
	for(j = collen-1;j>=col;j--)
	  printf("%d ",matrix[row][j]);
	if(rowlen-row>0)
	 down_right(matrix,col,row+1,collen-1,rowlen);
}

